package leetcode;

/**
 * 描述:
 *
 * @Package: leetcode
 * @ClassName: 二分查找
 * @Author: 陈威
 * @CreateTime: 2022/1/26 11:31
 *  给定一个n个元素有序数组的和一个目标值target ，写一个函数搜索nums中的 target，如果目标值存在返回下标，否则返回 -1。
 */
public class 二分查找 {
    public int search(int[] nums, int target) {
        int left=0;
        int right=nums.length-1;
        while (left<=right){
            int mid=(left+right)/2;
            if(nums[mid]==target){
                return mid;
            }else if(nums[mid]>target){
                right=mid-1;
            }else {
                left=mid+1;
            }
        }
        return -1;
    }

    public static void main(String[] args) {
        int []nums={1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18};
        二分查找 serar=new 二分查找();
        System.out.println(serar.search(nums, 13));
    }
}
